package com.kexio.pay.enums;

/**
 * 签名类型枚举
 * 
 * @author Kexio Team
 * @since 1.0.0
 */
public enum SignType {
    
    /**
     * MD5签名
     */
    MD5("MD5"),
    
    /**
     * HMAC-SHA256签名
     */
    HMACSHA256("HMAC-SHA256"),
    
    /**
     * RSA签名
     */
    RSA("RSA"),
    
    /**
     * RSA2签名（SHA256WithRSA）
     */
    RSA2("RSA2");
    
    private final String value;
    
    SignType(String value) {
        this.value = value;
    }
    
    public String getValue() {
        return value;
    }
    
    /**
     * 根据值获取枚举
     */
    public static SignType fromValue(String value) {
        for (SignType type : values()) {
            if (type.getValue().equals(value)) {
                return type;
            }
        }
        throw new IllegalArgumentException("Unknown sign type: " + value);
    }
}

